package com.keai.jobs;


import com.keai.constant.RedisConst;
import com.keai.utils.QiniuUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import java.util.Set;

@Component
public class ClearImgJob {

    @Autowired
    JedisPool jedisPool;



    /**
     * 1.找出垃圾图片
     *  两个set集合的差值
     * 2.删除七牛上的垃圾图片
     * 3.redis的垃圾图片名称清理
     */
    public void clear(){
        //sdiff:取两个集合的差值
        //返回值:垃圾图片的名称集合
        Set<String> sdiff = jedisPool.getResource().sdiff(RedisConst.SETMEAL_PIC_RESOURCES, RedisConst.SETMEAL_PIC_DB_RESOURCES);
        //2.删除七牛上的垃圾图片
        for (String imgName : sdiff) {
            QiniuUtils.deleteFileFromQiniu(imgName);
            //3.清除redis的垃圾图片名称
            jedisPool.getResource().srem(RedisConst.SETMEAL_PIC_RESOURCES,imgName);
        }
    }



}
